package cn.tedu.oopextends;

public class TestExtendsDemo {
    public static void main(String[] args) {
        Animal a=new Animal();
        Cat c=new Cat();
        dingDang d=new dingDang();
        /**1.子类继承父类之后，可以使用父类的功能
         * 2.继承可以传递，爷爷的功能传给爸爸，爸爸的功能传给儿子*/
        a.eat();
        c.eat();
        d.eat();
        /**5.子类的特有功能，父类不可以使用*/
        d.show();

    }
}
/**1.我们通过extends关键字让子类与父类建立继承关系 子类extends 父类*/
class Animal{
    int a=10;
    private int b=100;
        public void eat(){
            System.out.println("小动物，吃啥都行");

}
}
class  Cat extends Animal{
}
/**7.java只支持单继承，一个子类只能有一个父类，但一个父类可以有多个子类
 * 8.继承是一种is a的关系，小猫是一个小动物，叮当是一只猫
 * 要求必须是父类所下属的一种类型，依赖性非常强，耦合性也非常强*/
class dingDang extends Cat{
    public void show(){
        /**4.子类是可以拥有自己的特有功能的*/
        System.out.println(a);
        /**6.子类不可以使用父类的私有资源，原因是私有外部类不可见
         * 但是一定注意：继承相当于子类不父类的资源复制了一份，也包含私有资源*/
        System.out.println();
        System.out.println("给你看看我的神奇口袋");
    }
}